package cn.tedu.generic;

/**
 * @author :Colin
 * @version 创建时间: 2021/6/18 16:07
 */
public class TestGeneric2 {
    //需求：打印指定数组的所有元素
    public static void main(String[] args) {
        Integer[] a = {1,2,3,4,5,6,7};
        String[] b ={"大哥1","大哥2","大哥3","大哥4","大哥5"};
        Double[] c={9.0,9.9,9.99,9.999,9.9999};
        print(a);
        print(b);
        print(c);

    }
    /*1 泛型可以实现通用代码的编写，使用E表示元素的类型Element类型*/
    /*2.泛型语法要求：如果在方法上使用泛型，必须两处同时出现
    一个是传入参数的类型是泛型，另一个是返回值前的泛型类型
    表示这是一个泛型方法
     */
    private static <E> void print(E[] e) {
        for (E f : e) {
            System.out.println(f);
        }
    }
 /*   private static void print(Double[] c) {
        //使用循环遍历数组
        *//*for(int i=0;i<c.length-1;i++){
            System.out.println(c[i]);
        }*//*
        *//*高效for循环（增强for循环）
        *for（1 2：3）{循环体}
        * 3是要遍历的元素，1是每次遍历得到的元素的类型 2是遍历得到的元素名称
        * 好处：比普通for循环写法简单，而且效率高
        * 坏处：没有办法按照下标来操作值，只能从头到尾一次遍历
         *//*
        *//*普通for循环的好处是可以设置循环的步长（怎么变化）*//*
        for(Double d:c){
            System.out.println(d);
        }
    }
    private static void print(String[] b) {
        for(String s: b){
            System.out.println(s);
        }
    }
    private static void print(Integer[] a) {
        *//*for(int i=0;i<a.length-1;i++){
            System.out.println(a[i]);
        }*//*
        for(Integer i:a){
            System.out.println(i);
        }
    }*/
}
